@echo off
rem sample script to Poll for files in a directory via WinSCP and decrypt it if one is returned
rem SCP host details 
set HOSTNAME=<SFTP Server>
set USERNAME=<user>

set FOLDER_NAME=<incoming>
set RECEIVED_FOLDER_NAME=<incoming>
set KEY_FILENAME=ssh_private_key.ppk
set WINSCP_INSTALL_DIR=c:\program files (x86)\winscp

rem GPG2 path, recipient to encrypt for, local gpg2 id and working directory
set GPG2_INSTALL_DIR= c:\program files(x86)\GNU\GnuPG
set GPG2_RECIPIENT_ID=<receipt id>
set GPG2_LOCAL_USER_ID=<local user id>

rem create the WinSCP script with it set in batch mode so it does not prompt for input
echo option batch on > script.cmd
echo option confirm off >> script.cmd

rem Poll the file via SFTP
echo open sftp://%USERNAME%@%HOSTNAME% >> script.cmd
echo cd %FOLDER_NAME% >> script.cmd
echo lcd %RECEIVED_FOLDER_NAME% >> script.cmd
rem Use this line to push a file
echo get * >> script.cmd
echo rm * >> script.cmd

rem close the connection and exit
echo close >> script.cmd
echo exit >> script.cmd

"%winscp_install_dir%\winscp3.com" /privatekey="%winscp_install_dir%\%KEY_FILENAME%" /script=script.cmd
del script.cmd

rem PGP Decrypt the file if exists
rem Loop through each file in the folder

for %%f in (%RECEIVED_FOLDER_NAME%\*) do (
"%gpg2_install_dir%\gpg2" --y --output %RECEIVED_FOLDER_NAME%\decrypted\%%~nf%%~xf.txt --batch --passphrase-fd 0 --decrypt %RECEIVED_FOLDER_NAME%\%%~nf%%~xf <"%gpg2_install_dir%\password.txt"
del %%~nf%%~xf
)
 
